package com.lyf.design.learn.designmodel.strategy.sortsample.demo2;

/**
 * @AUTHOR LYF
 * @DATE 2022/6/2
 * @VERSION 1.0
 * @DESC
 * 抽离的是某个操作的方法行为的表现（一般来说行为的表现不同是根据传入参数进行不同----重载结合--多态--）不同--
 *
 */
public class Main {
    public static void main(String[] args) {
        Sorter<Cat> sorter = new Sorter<>();
        Cat[]cats = new Cat[10];

        try {
            sorter.setComparableStrategy(o1->{if(o1.weight>1)return 1;
                return 0;
            });//new CatAgeCompareStrategy()
            sorter.sort(cats);
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}
